<!DOCTYPE html>
<html lang="en-US">
  <head>
    <link href="/assets/index.css" rel="stylesheet" type="text/css" />
    <script crossorigin="anonymous" src="/test-harness.js"></script>
    <script crossorigin="anonymous" src="/test-page-object.js"></script>
    <script crossorigin="anonymous" src="/__dist__/webchat-es5.js"></script>
  </head>
  <body>
    <main id="webchat"></main>
    <script>
      run(async function () {
        const { directLine, store } = testHelpers.createDirectLineEmulator();

        WebChat.renderWebChat({ directLine, store }, document.getElementById('webchat'));

        await pageConditions.webChatRendered();

        await pageConditions.uiConnected();

        store.dispatch({
          type: 'WEB_CHAT/SET_NOTIFICATION',
          payload: {
            id: 'lorem ipsum 1',
            level: 'info',
            message:
              'Magna ut culpa ad adipisicing aliquip veniam pariatur. Laboris laboris do irure laborum quis nisi aliquip Lorem adipisicing pariatur Lorem magna pariatur. Proident mollit culpa commodo ex sint consectetur esse incididunt. Do ullamco voluptate reprehenderit cupidatat cupidatat. Aliquip anim sint proident et ullamco. Deserunt adipisicing cillum anim eiusmod nostrud sit magna pariatur in nulla. Aliquip in irure incididunt cillum non anim Lorem commodo incididunt nisi eu eu pariatur.'
          }
        });

        await pageConditions.toastShown(1);

        await host.snapshot('local');

        store.dispatch({
          type: 'WEB_CHAT/SET_NOTIFICATION',
          payload: {
            id: 'lorem ipsum 2',
            level: 'info',
            message: 'Cupidatat cupidatat duis irure do dolor. Id eu ut esse minim aute. Nulla mollit in irure.'
          }
        });

        store.dispatch({
          type: 'WEB_CHAT/SET_NOTIFICATION',
          payload: {
            id: 'lorem ipsum 3',
            level: 'info',
            message: 'Ut adipisicing consectetur laborum.'
          }
        });

        await pageConditions.toasterExpandable();
        await pageConditions.toasterExpanded(false);

        await pageObjects.clickToasterHeader();

        await pageConditions.toastShown(3);

        await host.snapshot('local');

        store.dispatch({
          type: 'WEB_CHAT/DISMISS_NOTIFICATION',
          payload: {
            id: 'lorem ipsum 1'
          }
        });

        store.dispatch({
          type: 'WEB_CHAT/DISMISS_NOTIFICATION',
          payload: {
            id: 'lorem ipsum 2'
          }
        });

        await pageConditions.toastShown(1);

        await host.snapshot('local');
      });
    </script>
  </body>
</html>
